{% extends 'layout.html' %}
{% load static %}


{% block content %}
    <div class="container">
        <div class="panel panel-default">
            <div class="panel-heading">折线图</div>
            <div class="panel-body">
                <div id="7day_line" style="width: 100%;height:300px;"></div>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-6">
                <div class="panel panel-default">
                    <div class="panel-heading">柱状图</div>
                    <div class="panel-body">
                        <div id="7day_bar" style="width: 100%;height: 300px"></div>
                    </div>
                </div>
            </div>
            <div class="col-sm-6">

                <div class="panel panel-default">
                    <div class="panel-heading">饼图</div>
                    <div class="panel-body">

                        <div id="7day_pie" style="width: 100%;height: 300px;"></div>

                    </div>
                </div>
            </div>
        </div>
    </div>
{% endblock %}

{% block js %}
    <script src="{% static 'js/echarts.js' %}"></script>
    <script type="text/javascript">

        $(function () {

            initLine();

            initBar();

            initPie();
        })

        /**
         * 初始化折线图
         */
        function initLine() {
            var myChart = echarts.init(document.getElementById('7day_line'));
            var option = {
                title: {
                    text: '最近七天的签到时间分布图',
                    left: "center",
                },
                tooltip: {
                    trigger: 'axis'
                },
                legend: {
                    data: [],
                    bottom: 0
                },
                toolbox: {
                    feature: {
                        saveAsImage: {
                            title: '' // 将按钮的提示文字设为空字符串
                        }
                    }
                },
                xAxis: {
                    type: 'category',
                    boundaryGap: false,
                    data: []
                },
                yAxis: {
                    type: 'value'
                },
                series: []
            };


            $.ajax({
                url: '/chart/line/7/',
                type: "post",
                dataType: "JSON",
                success: function (res) {
                    if (res.status) {
                        option.legend.data = res.data.legend;
                        option.xAxis.data = res.data.x_axis;
                        option.series = res.data.series_list;

                        myChart.setOption(option);
                    }
                }
            })


        }

        /**
         * 初始化柱状图
         */
        function initBar() {
            // 基于准备好的dom，初始化echarts实例
            var myChart = echarts.init(document.getElementById('7day_bar'));

            // 指定图表的配置项和数据
            var option = {
                title: {
                    text: '最近七天的签到情况',
                    textAlign: "auto",
                    left: "center",
                },
                tooltip: {},
                toolbox: {
                    feature: {
                        saveAsImage: {
                            title: '' // 将按钮的提示文字设为空字符串
                        }
                    }
                },
                legend: {
                    data: [],  // 后台获取
                    bottom: 0
                },
                xAxis: {
                    data: []  // 后台获取
                },
                yAxis: {},
                series: []  // 后台获取
            };

            $.ajax({
                url: "/chart/bar/7/",
                type: "post",
                dataType: "JSON",
                success: function (res) {
                    // 将后台返回的数据，更新到option中。
                    if (res.status) {
                        option.legend.data = res.data.legend;
                        option.xAxis.data = res.data.x_axis;
                        option.series = res.data.series_list;

                        // 使用刚指定的配置项和数据显示图表。
                        myChart.setOption(option);
                    }
                }
            })


        }


        /**
         * 初始化饼状图
         */
        function initPie() {
            // 基于准备好的dom，初始化echarts实例
            var myChart = echarts.init(document.getElementById('7day_pie'));
            var option = {
                title: {
                    text: '各个部门签到占比',
                    subtext: '总计七天',
                    left: 'center'
                },
                tooltip: {
                    trigger: 'item'
                },
                toolbox: {
                    feature: {
                        saveAsImage: {
                            title: '' // 将按钮的提示文字设为空字符串
                        }
                    }
                },
                legend: {
                    bottom: 0
                },
                series: [
                    {
                        name: '人数',
                        type: 'pie',
                        radius: '50%',
                        data: [],
                        emphasis: {
                            itemStyle: {
                                shadowBlur: 10,
                                shadowOffsetX: 0,
                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                            }
                        }
                    }
                ]
            };

            $.ajax({
                url: "/chart/pie/7/",
                type: "post",
                dataType: "JSON",
                success: function (res) {
                    if (res.status) {
                        option.series[0].data = res.data;
                        myChart.setOption(option);
                    }
                }
            })

        }

    </script>
{% endblock %}
